Macrodef Task এর ব্যবহার

Java Technologies - অ্যাপাচি অ্যান্ট (Apache ANT) Macros এবং Script Task |
204
204

Apache ANT-এ macrodef টাস্কটি কাস্টম মাক্রো তৈরি করার জন্য ব্যবহৃত হয়, যা পুনরায় ব্যবহারের জন্য একটি কোড ব্লক তৈরি করে। মাক্রো (macro) হল একটি টাস্কের সেট যা পুনরায় ব্যবহারযোগ্য এবং আপনি বারবার সেই টাস্কগুলির জন্য কোড লিখতে না গিয়ে বিভিন্ন স্থানে একে ব্যবহার করতে পারেন।

macrodef টাস্কটি আপনাকে নতুন টাস্ক তৈরি করতে দেয় যা একটি নির্দিষ্ট প্রপার্টি বা আর্গুমেন্ট গ্রহণ করতে পারে, এবং এটি অন্য টাস্কগুলির মতোই কাজ করতে পারে।


macrodef Task এর মূল বৈশিষ্ট্য:

  1. কাস্টম টাস্ক তৈরি করা: এটি আপনাকে নতুন টাস্ক তৈরি করার সুযোগ দেয়, যা ANT বিল্ড স্ক্রিপ্টে অন্যান্য টাস্কের মতোই ব্যবহার করা যায়।
  2. পুনরায় ব্যবহারযোগ্য: একবার তৈরি হলে, এই মাক্রোটি অন্য যে কোনও টার্গেটে বা টাস্কে পুনরায় ব্যবহার করা যায়।
  3. অ্যট্রিবিউট ও প্যারামিটার: macrodef টাস্কের মধ্যে আপনি অ্যাট্রিবিউট ব্যবহার করে কাস্টম ভ্যালু বা প্যারামিটার পাঠাতে পারেন।

macrodef Syntax:

macrodef টাস্কের মূল গঠন হলো:

<macrodef name="macroName">
    <attribute name="attributeName" />
    <sequential>
        <!-- Your tasks here -->
    </sequential>
</macrodef>

এখানে,

  • name: এটি মাক্রোর নাম।
  • attribute: এটি মাক্রোর জন্য প্যারামিটার বা অ্যাট্রিবিউট। এক বা একাধিক অ্যাট্রিবিউট নির্ধারণ করা যেতে পারে।
  • sequential: এটি সেই সমস্ত টাস্কগুলির একটি ব্লক যা মাক্রোর অংশ হিসেবে চালানো হবে।

macrodef ব্যবহার করার উদাহরণ:

উদাহরণ ১: একটি সহজ মাক্রো তৈরি করা

<project name="Macrodef Example" default="example">

    <target name="example">
        <!-- macrodef তৈরি -->
        <macrodef name="sayHello">
            <attribute name="name"/>
            <sequential>
                <echo message="Hello, ${name}!"/>
            </sequential>
        </macrodef>

        <!-- মাক্রো কল করা -->
        <sayHello name="John"/>
        <sayHello name="Alice"/>
    </target>

</project>

এখানে,

  • একটি sayHello মাক্রো তৈরি করা হয়েছে যা name অ্যাট্রিবিউট নেয়।
  • echo টাস্কটি ব্যবহার করে মাক্রোটি "Hello, John!" এবং "Hello, Alice!" মেসেজ প্রদর্শন করে।
  • sayHello মাক্রোটি দুইবার কল করা হয়েছে, প্রতিবার আলাদা নাম দিয়ে।

আউটপুট:

Hello, John!
Hello, Alice!

উদাহরণ ২: মাক্রোতে শর্ত পরীক্ষা করা

<project name="Macrodef Condition Example" default="example">

    <target name="example">
        <!-- macrodef তৈরি -->
        <macrodef name="greet">
            <attribute name="name"/>
            <attribute name="greeting" />
            <sequential>
                <echo message="${greeting}, ${name}!"/>
            </sequential>
        </macrodef>

        <!-- মাক্রো কল করা -->
        <greet name="John" greeting="Good morning"/>
        <greet name="Alice" greeting="Hello"/>
    </target>

</project>

এখানে,

  • greet নামক একটি মাক্রো তৈরি করা হয়েছে যা দুটি অ্যাট্রিবিউট: name এবং greeting গ্রহণ করে।
  • এটি echo টাস্কের মাধ্যমে একটি কাস্টম বার্তা প্রদর্শন করে।

আউটপুট:

Good morning, John!
Hello, Alice!

macrodef এর অন্যান্য ব্যবহার:

১. শর্ত পরীক্ষা সহ টাস্ক একসাথে করা

আপনি macrodef ব্যবহার করে কিছু শর্ত পরীক্ষার জন্য একাধিক টাস্ক একসাথে সাজাতে পারেন।

<project name="Macrodef Condition Example" default="build">

    <target name="build">
        <macrodef name="buildProject">
            <attribute name="buildName"/>
            <sequential>
                <echo message="Starting build for project: ${buildName}"/>
                <mkdir dir="build/${buildName}"/>
                <touch file="build/${buildName}/file.txt"/>
            </sequential>
        </macrodef>

        <!-- মাক্রো কল -->
        <buildProject buildName="ProjectA"/>
        <buildProject buildName="ProjectB"/>
    </target>

</project>

এখানে,

  • buildProject মাক্রোটি একটি প্রজেক্ট তৈরি এবং সংশ্লিষ্ট ডিরেক্টরি তৈরি করে।
  • mkdir এবং touch টাস্কগুলি একত্রে কাজ করছে।

আউটপুট:

Starting build for project: ProjectA
Starting build for project: ProjectB

macrodef এবং sequential এর সমন্বয়:

  • sequential ট্যাগের মধ্যে আপনি একাধিক টাস্ক যুক্ত করতে পারেন। এটি একাধিক টাস্ক চালানোর জন্য একটি ব্লক হিসেবে কাজ করে।
  • এতে আপনি একাধিক টাস্কের লজিক্যাল সিকোয়েন্সের মতো কোড তৈরি করতে পারেন।

macrodef এর সুবিধা:

  • কোড পুনঃব্যবহারযোগ্যতা: একবার একটি মাক্রো তৈরি হলে, আপনি এটি বিভিন্ন টাস্কে বা টার্গেটে পুনরায় ব্যবহার করতে পারেন।
  • কাস্টমাইজেশন: আপনি মাক্রোতে প্যারামিটার যোগ করতে পারেন, যা একই মাক্রোকে বিভিন্ন পদ্ধতিতে ব্যবহার করতে দেয়।
  • প্রকল্পের গঠন: এটি প্রকল্পের গঠনকে পরিষ্কার এবং পুনরায় ব্যবহারযোগ্য করে তোলে, কারণ একাধিক টাস্কের জন্য কোড পুনরায় লেখা লাগবে না।

সারমর্ম:

  • macrodef টাস্ক Apache ANT-এ কাস্টম টাস্ক তৈরি করার জন্য ব্যবহৃত হয়, যা পুনরায় ব্যবহারযোগ্য এবং নমনীয়।
  • এটি অ্যাট্রিবিউট নেয় এবং সেগুলির ভিত্তিতে টাস্ক সম্পাদন করতে পারে।
  • macrodef আপনাকে প্রকল্পে কোডের পুনঃব্যবহারযোগ্যতা এবং গঠনশীলতা প্রদান করে, যা বৃহৎ প্রকল্পে অত্যন্ত উপকারী।
common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion